El guard de paridad no ve el idioma: nueve documentos «en inglés» están en castellano - #102
Merged
Merged
Conversation
…en ingles» estan en castellano GAP-011 y GAP-017 dicen que el C4 y el Discovery Canvas no tienen version inglesa. El fichero `.md` EXISTE en ambos casos y se autodescribe «English (this document)». Su contenido esta en castellano. Por eso las dos filas seguian siendo ciertas con `check-bilingual-parity` en verde: ese guard compara que el par EXISTA y que las cabeceras cuadren, y ninguna de las dos cosas ve el idioma. MEDIDO: 9 de 143 documentos emparejados estan asi, y las filas solo nombraban dos. Entre los otros siete estan `DECISIONS.md` (128 marcadores de castellano contra 1 de ingles) y `MASTER_INDEX.md`, canonicos de raiz. COMO SE DETECTA: frecuencia de stopwords, con MARGEN de 2x y nunca por mayoria simple. El margen se eligio midiendo — los nueve casos reales estan en 10x o mas y el documento legitimo mas cercano ronda la paridad; una mayoria simple habria marcado glosarios bilingues. Se retira el codigo antes de contar, porque un fichero lleno de identificadores en castellano no es un documento en castellano. VA COMO TRINQUETE: los nueve se declaran con su motivo, asi que CI pasa hoy y el DECIMO falla. La regla escrita en el propio fichero dice que «no es prioritario» no es un motivo. Comprobado que muerde: copiando un documento en castellano como `.md` se pone rojo nombrandolo, y vuelve a verde al retirarlo. LIMITACION QUE CONVIENE SABER: va en `docs.yml`, que solo se dispara en PRs a `main` —como todos los guardianes de doc de este repositorio—, asi que muerde al PROMOVER y no en el PR que introduce el fichero. Es coherente con el resto y se deja dicho en vez de descubrirse dentro de un mes. Verificado: `validate-docs` y `check-gap-registry` en verde; YAML del workflow validado. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GAP-011yGAP-017dicen que el C4 y el Discovery Canvas no tienen versión inglesa. El fichero.mdexiste en ambos casos y se autodescribe «English (this document)». Su contenido está en castellano.Por eso las dos filas seguían siendo ciertas con
check-bilingual-parityen verde: ese guard compara que el par exista y que las cabeceras cuadren, y ninguna de las dos cosas ve el idioma.Medido, no supuesto
9 de 143 documentos emparejados están así — las filas nombraban dos.
docs/adrs/T-044-single-tenant-isolation-model.mdDECISIONS.mddocs/diagrams/evolith-tracker-master-flow.mdMASTER_INDEX.mdLos dos canónicos de raíz están entre ellos.
Cómo se detecta, y su coste
Frecuencia de stopwords, con margen de 2× y nunca por mayoría simple. El margen se eligió midiendo: los nueve reales están en 10× o más y el documento legítimo más cercano ronda la paridad; una mayoría simple habría marcado glosarios bilingües. Se retira el código antes de contar, porque un fichero lleno de identificadores en castellano no es un documento en castellano.
Va como trinquete
Traducir nueve ahora no es realista y dejarlos invisibles es cómo llegamos aquí. Los nueve se declaran con motivo en
untranslated-allowlist.json: CI pasa hoy, el décimo falla. La regla, en el propio fichero: «una entrada es una promesa de traducir, no un indulto; "no es prioritario" no es un motivo».Comprobado que muerde: copiando un documento en castellano como
.mdse pone rojo nombrándolo, y vuelve a verde al retirarlo.Limitación que conviene saber
Va en
docs.yml, que solo se dispara en PRs amain— como todos los guardianes de doc de este repositorio. Así que muerde al promover, no en el PR que introduce el fichero. Es coherente con el resto y se deja dicho en vez de descubrirse dentro de un mes.Reemplaza al #99, que quedó con
mergeStateStatus: UNKNOWNy nunca disparó checks. La causa no era Actions: conflictuaba condevelopen el registro de gaps, y los checks depull_requestcorren sobre el commit de merge que GitHub no podía calcular. Esta versión sale dedevelopy solo lleva los tres ficheros del guard.🤖 Generated with Claude Code